package com.cskaoyan.javase.oop1._15access._1clazz;

import com.cskaoyan.javase.oop1._15access._2member.Animal;

/**
 * 访问权限修饰符修饰class可用的访问级别只有两个:
 *      1.public,公共的,可以在不同包下任意访问,最常见的class访问基本.
 *      2.(缺省的)不写任何关键字,表示默认的访问权限,只能在同包中使用
 *
 * 注意:
 *      1.只有两个,不能使用private或者protected
 *          根源在于普通定义的一个class是独立的,没有被保护或者私有的概念
 *          但是类是可以嵌套定义的,内部类是可以有四种访问权限.
 *      2.类的访问权限控制要大于里面成员的访问权限控制,如果无法访问一个类,那么成员肯定也无法访问.
 *
 * @since 10:02
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        Animal a = new Animal();
        System.out.println(a.price);
        // 'age' is not public in 'com.cskaoyan.javase.oop1._15access._2member.Animal'. Cannot be accessed from outside package
        /*System.out.println(a.age);
        System.out.println(a.name);*/
    }
}

class JavaStudent {
    public static int age;

    protected class A {
    }
}
